<?php

	session_start();

	require('setlang.php');
	require('Models/connectBDD.php');
	require('Models/basics.php');
	require('Models/formerrors.php');
	require('Models/located.php');
	require('Models/bienproprio.php');
	require('Models/ariane.php');

	$Ariane = getArianeGenealogy();
	
	$connexion = PDO_BDD_Connect();

	if (!isValidSessionUser($connexion) || !areValidUserRights($connexion))
	{
		header('Location:logout.php');
	}
	//Si on a passé le bien et qu'il appartient bien au propriétaire, on peut continuer
	if (isset($_POST['good']) && isOwnedByUser($connexion,$_POST['good']))
	{
		//Si on valid la location on teste tous les inputs
		if (isset($_POST['validLoc']))
		{
			$errors = getFormErrors(array("e-mail","Bannée","Bmois","Bjour","Bheure","Bminutes","Eannée","Emois","Ejour","Eheure","Eminutes","prix","promo"),"POST");
			
			if (empty($errors))
			{
				//On swap au besoin prix et promotion
				if ($_POST['prix'] < $_POST['promo'])
				{
					$tmp = $_POST['prix'];
					$_POST['prix'] = $_POST['promo'];
					$_POST['promo'] = $tmp;
				}
				//On vérifie que le minimum soit positif (donc nécessairement promo après le swap)
				if ($_POST['promo'] >= 0)
				{
					//On crée les strings des dates suivant le modèle d'un DATETIME
					$beginDateString = $_POST['Bannée']."-".$_POST['Bmois']."-".$_POST['Bjour']." ".$_POST['Bheure'].":".$_POST['Bminutes'];
					$endingDateString = $_POST['Eannée']."-".$_POST['Emois']."-".$_POST['Ejour']." ".$_POST['Eheure'].":".$_POST['Eminutes'];
					//On calcule les timestamp et la durée
					$beginTime = calculateTimestamp($beginDateString);
					$endingTime = calculateTimestamp($endingDateString);
					
					$duration = numberOfDays($beginTime,$endingTime);
					//Enfin si la durée est positive strictement
					if ($duration > 0)
					{
						//Si la location est libre au sens de "sans aucune location" on ajoute la location avec pour ref_personne le propriétaire lui même
						if (isFreeBetween($connexion,$_POST['good'],$beginTime,$endingTime) == "-2")
						{
							$addedLocation = addLocation($connexion,$beginTime, $duration, $_POST['prix'], $_POST['promo'], 0, $_POST['good'], $_SESSION['userid']);
						}
						else
						{
							$errorFree = true;
						}
						
					}
					else
					{
						$errorDate = true;
					}
					
				}
				else
				{
					$errorPrice = true;
				}
				
			}
			
		}
		
		require('Views/ajouterlocation.php');
		
	}
	else
	{
		header('Location:login.php');
	}

?>
